package one;

import org.junit.jupiter.api.Test;

public class TwentySix {
    // 思路，使用双指针，一个指向当前循环的位置，一个指向数组当中不重复的数据
    // 如果两个指针指向的数据不一样，同时+1
    // 否则指向循环位置的指针+1，
    // 返回值+1因为数组下标从0开始，
    @Test
    public int removeDuplicates(int[] nums) {
        // [0,0,1,1,1,2,2,3,3,4]
        // [0,1,2,3,4,5,6,7,8,9]
        if (nums.length == 1) return 1;
        int flag = 0 ;
        for (int i = 1; i < nums.length; i++) {
            if (nums[flag] != nums[i] ) {
                flag++;
                nums[flag] = nums[i];
            }
        }
        return flag+1;
    }
}
